package com.panfeng.xcloud.boss.provider.assets.dto.request;

import com.panfeng.xcloud.common.core.page.PageRequest;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

@Data
@ApiModel(value = "查询钱包信息相关请求")
public class QueryUserWalletInfoPageReqDTO extends PageRequest {

    @ApiModelProperty("id")
    private Integer id;

    @ApiModelProperty("用户id")
    private String userId;

    @ApiModelProperty("公链名称")
    private String chainName;

    @ApiModelProperty("币种名称")
    private String coinName;

    @ApiModelProperty("地址")
    private String address;

    @ApiModelProperty("私钥")
    private String privateKey;

    @ApiModelProperty("公钥")
    private String publicKey;

    @ApiModelProperty("可用余额,上限")
    private BigDecimal avaliableBalanceMax;

    @ApiModelProperty("可用余额,下限")
    private BigDecimal avaliableBalanceMin;

    @ApiModelProperty("冻结余额,上限")
    private BigDecimal frozenBalanceMax;

    @ApiModelProperty("冻结余额,下限")
    private BigDecimal frozenBalanceMin;

    @ApiModelProperty("今日盈利,上限")
    private BigDecimal todayProfitMax;

    @ApiModelProperty("今日盈利,下限")
    private BigDecimal todayProfitMin;

    @ApiModelProperty("总计盈利,上限")
    private BigDecimal totalProfitMax;

    @ApiModelProperty("总计盈利,下限")
    private BigDecimal totalProfitMin;

    @ApiModelProperty("点卡余额,上限")
    private BigDecimal pointBalanceMax;

    @ApiModelProperty("点卡余额,下限")
    private BigDecimal pointBalanceMin;

    @ApiModelProperty("激活状态(0.未激活 1.已激活)")
    private Integer activeStatus;

    @ApiModelProperty("激活剩余有效天数,上限")
    private Integer activeRestTimeMax;

    @ApiModelProperty("激活剩余有效天数,下限")
    private Integer activeRestTimeMin;

    @ApiModelProperty("盐值")
    private String salt;

    @ApiModelProperty("该用户的点卡扣除比例,上限")
    private BigDecimal myPointRatioMax;

    @ApiModelProperty("该用户的点卡扣除比例,下限")
    private BigDecimal myPointRatioMin;

    @ApiModelProperty("分成等级")
    private String rebateLevel;

    @ApiModelProperty("分成比例,上限")
    private BigDecimal rebateRatioMax;

    @ApiModelProperty("分成比例,下限")
    private BigDecimal rebateRatioMin;

    @ApiModelProperty("下级用户总盈利,上限")
    private BigDecimal subUserTotalProfitMax;

    @ApiModelProperty("下级用户总盈利,下限")
    private BigDecimal subUserTotalProfitMin;

    @ApiModelProperty("创建时间,查询起始时间")
    private Date createTimeStart;

    @ApiModelProperty("创建时间,查询截止时间")
    private Date createTimeEnd;

    @ApiModelProperty("更新时间,查询起始时间")
    private Date modifyTimeStart;

    @ApiModelProperty("更新时间,查询截止时间")
    private Date modifyTimeEnd;

    @ApiModelProperty("排序属性 1.可用余额 2.冻结余额 3.今日盈利 4.总计盈利 5.点卡余额 6.激活剩余有效天数 7.创建时间 8.更新时间 9.分成比例 10.下级用户总盈利")
    private String sortAttribute;

    @ApiModelProperty("排序类型 升序:ascend 降序:descend")
    private String sortType;

}
